package com.maple.common.utils

import java.util.regex.Pattern

/**
 * Tip:
 * Create by SeVen on 2024/4/11 16:50
 */
object RegularUtils {
    /**
     * 是否为手机号
     */
    fun isMobilePhone(input: String): Boolean {
        val p = Pattern.compile("^1[3-9]\\d{9}\$")
        val m = p.matcher(input)
        return m.matches()
    }

    /**
     * 是否为汉字
     */
    fun isChinese(input: String): Boolean {
        val p = Pattern.compile("^[\u4e00-\u9fa5]+$")
        val m = p.matcher(input)
        return m.matches()
    }

    /**
     *  正则表达式，用于检查密码是否包含数字、字母和特殊符号中的至少两种，并且长度至少为 6 个字符
     */
    fun isValidPassword(input: String): Boolean {
        val p = Pattern.compile("^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)(?=\\S+$).{6,}$")
        val m = p.matcher(input)
        return m.matches()
    }

    @JvmStatic
    fun main(args: Array<String>) {
        print(isValidPassword("123"))
        print(isValidPassword("123456"))
        print(isValidPassword("123456q"))
        print(isValidPassword("123456Q"))
        print(isValidPassword("123456@"))
        print(isValidPassword("asdfsgs@"))
    }
}